import urllib.request
import urllib.parse
import urllib.error
import json

# Handler 定制更高级的请求头
# （随着业务逻辑的复杂请求对象的定制已经满足不了我们的需求（动态cookie和代理不能使用请求对象的定制）


# 需求 使用headler 来访问百度 获取网页源码

url = 'http://www.baidu.com'

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}
request = urllib.request.Request(url, headers=headers)

# headler builder_opener open
# (1) 获取handler对象
handler = urllib.request.HTTPHandler()

# (2) 获取opener 对象
opener = urllib.request.build_opener(handler)
# (3) 调用open（）

response = opener.open(request)
data = response.read().decode('utf-8')
print(data)
